1. Field of the Invention
This invention is related to the field of storage management and, more particularly, to management of distributed storage resources in a network environment.
2. Description of the Related Art
Distributed network storage systems are an increasingly important part of enterprise computing systems. The storage devices used in these distributed storage systems can be many in kind and in number. In an effort to aggregate such storage devices for flexibility and ease of management, storage management techniques such as storage virtualization may be employed. Storage virtualization techniques may establish relationships between physical storage devices, e.g., disk drives, tape drives, optical drives, etc., and virtual or logical storage devices such as volumes, virtual disks, virtual logical units (virtual LUNs), etc. Virtualization techniques may provide high-level features such as clustering, backup, and other storage management techniques to aggregates of heterogeneous physical storage devices.
In the file serving and network storage environments, two trends are emerging. The first trend is a movement away from storage being directly attached to servers and towards storage being network attached. In some configurations, this network-attached storage may be directly accessible by clients. Enterprise computing systems are increasingly using configurations such as computer clusters, Storage Area Networks (SANs), Network Attached Storage (NAS), and other centralized storage mechanisms to simplify storage, improve availability, and handle escalating demands for data and applications.
The second trend is a movement away from deploying expensive high end servers towards deploying server appliances which include an aggregation of inexpensive server modules. These server modules are typically not of very high capacity, but the appliance can be scaled to meet the performance requirements by aggregating multiple such modules. Customers may start with a configuration which meets their current requirements and later add capacity as needed.
Clustering may be defined as the use of multiple computers (e.g., PCs or UNIX workstations), multiple storage devices, and redundant interconnections to form what appears to external users as a single and highly available system. Clustering may be used for load balancing and parallel processing as well as for high availability.
The storage area network (SAN) model places storage on its own dedicated network, removing data storage from the main user network. This dedicated network most commonly uses Fibre Channel technology as a versatile, high-speed transport. The SAN includes one or more hosts that provide a point of interface with LAN users, as well as (in the case of large SANs) one or more fabric switches, SAN hubs and other devices to accommodate a large number of storage devices. The hardware (e.g. fabric switches, hubs, bridges, routers, cables, etc.) that connects workstations and servers to storage devices in a SAN is referred to as a “disk fabric” or “fabric.” The SAN fabric may enable server-to-storage device connectivity through Fibre Channel switching technology to a wide range of servers and storage devices.
The versatility of the SAN model enables organizations to perform tasks that were previously difficult to implement, such as LAN-free and server-free tape backup, storage leasing, and full-motion video services. SAN deployment promises numerous advantages, including cost management through storage consolidation, higher availability of data, better performance and seamless management of online and offline data. In addition, the LAN is relieved of the overhead of disk access and tape backup, data availability becomes less server-dependent, and downtime incurred by service and maintenance tasks affects more granular portions of the available storage system.
For distributed storage management, unique naming of the devices under administration is a critical feature. An existing approach uses a unique disk identifier (UDID) which is generated via a combination of inquiry and mode data from the disk. Typically, UDIDs are not dependent on the connectivity of the device. A well-known UDID generation algorithm may ensure that the UDID generation can be performed in a de-centralized way and will always yield the same UDID for a given device. However, the length of UDIDs may render them difficult to read and user-unfriendly. Due to their length, UDIDs are not appropriate for use in graphical user interfaces (GUIs), command-line interfaces (CLIs), error messages, and other contexts where user-friendliness is at a premium.
Another existing approach generates Enclosure Based Names (EBN) based on information within an enclosure. The names of enclosures are persistently stored on the host, and a virtual LUN serial number is generated every time a device is discovered. Each time device discovery takes place, the same device may get a different virtual LUN serial number and enclosure based name. Furthermore, these names are not guaranteed to be unique across multiple hosts.